package com.authine.cloudpivot.ext.model.order;

import com.authine.cloudpivot.ext.enums.order.OrderVendorStatusEnum;
import com.authine.mvp.app.launcher.domain.SelectorFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
import java.util.Map;

/**
 * @Author: liwei
 * @DateTime: 2021/9/18
 * @Description: TODO
 */
@Data
@Schema(description = "OrderVendorVO")
@ApiModel("供应商订单VO")
public class OrderVendorVO {

    @ApiModelProperty(value = "id")
    private String id;
    @ApiModelProperty(value = "创建人")
    private String createdBy;
    @ApiModelProperty(value = "创建人部门")
    private String createdDept;
    @ApiModelProperty(value = "创建时间")
    private Date createdTime;
    @ApiModelProperty(value = "修改人")
    private String modifiedBy;
    @ApiModelProperty(value = "修改时间")
    private Date modifiedTime;
    @ApiModelProperty(value = "客户订单ID")
    private String order_customer_id;
    @ApiModelProperty(value = "运费")
    private BigDecimal freight;
    @ApiModelProperty(value = "税前商品合计")
    private BigDecimal pretax_total;
    @ApiModelProperty(value = "税后商品合计")
    private BigDecimal total;
    @ApiModelProperty(value = "税后商品运费共计")
    private BigDecimal amount;
    @ApiModelProperty(value = "下单时间（下单付款的时间）")
    private Date place_order_time;
    @ApiModelProperty(value = "接单时间")
    private Date confirm_order_time;
    @ApiModelProperty(value = "接单人id")
    private SelectorFormat order_taker_id;
    @ApiModelProperty(value = "接单人名称")
    private String order_taker_name;
    @ApiModelProperty(value = "供应商ID")
    private SelectorFormat organization_id;
    @ApiModelProperty(value = "供应商组织名称")
    private String organization_name;
    @ApiModelProperty(value = "供应商类型 (false:平台供应商/true:原有供应商) ")
    private Boolean organization_type;
    @ApiModelProperty(value = "客户备注")
    private String memo;
    @ApiModelProperty(value = "after_sale")
    private String after_sale;
    @ApiModelProperty(value = "扩展字段")
    private String extends_attr;
    @ApiModelProperty(value = "未税运费")
    private BigDecimal pretax_freight;
    @ApiModelProperty(value = "未税商品运费共计")
    private BigDecimal pretax_amount;
    @ApiModelProperty(value = "税额")
    private BigDecimal tax_payable;
    @ApiModelProperty(value = "version")
    private String version;
    @ApiModelProperty(value = "老状态")
    private String old_status;
    @ApiModelProperty(value = "供应商订单状态")
    private OrderVendorStatusEnum order_vendor_status;
    @ApiModelProperty(value = "延期原因")
    private String delay_reason;
    @ApiModelProperty(value = "ERP PO")
    private String erp_po;
    @ApiModelProperty(value = "运费税额")
    private BigDecimal tax_payable_freight;
    @ApiModelProperty(value = "收货人")
    private String receiver;
    @ApiModelProperty(value = "电话")
    private String phone;
    @ApiModelProperty(value = "邮编")
    private String postal;
    @ApiModelProperty(value = "地址")
    private String address;
    @ApiModelProperty(value = "实际下单人")
    private String actual_order;
    @ApiModelProperty(value = "订单类型")
    private String source;
    @ApiModelProperty(value = "数据来源")
    private String data_sources;

    @ApiModelProperty(value = "客户订单商品集合")
    private List<OrderCustomerGoodsVO> orderCustomerGoodsVOList;

    @ApiModelProperty(value = "供应商订单商品集合")
    private List<OrderVendorGoodsVO> orderVendorGoodsVOList;

    @ApiModelProperty(value = "客户订单")
    private OrderCustomerVO orderCustomerVO;

    public static Map<String, Object> transferMap(OrderVendorVO orderVendorVO) {
        return null;
    }
}
